package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.ProcureApplyBean;
import com.project.bean.ProcureApplyInfoBean;
import com.project.bean.PurchaseAuditRecordBean;
import com.project.vo.ProcureApplyVo;

import java.util.List;

/**
 * 采购申请
 */
public interface IProcureApplyService {
    /**
     * 添加采购申请
     * @param procureApplyBean 采购申请对象
     */
    public String addProcureApply(ProcureApplyBean procureApplyBean);

    /**
     * 添加采购申请详情
     * @param procureApplyInfoList 采购申请详情集合
     */
    public String addProcureApplyInfo(List<ProcureApplyInfoBean> procureApplyInfoList);

    /**
     * 添加采购申请里面的商品
     * @param procureApplyInfoBean
     */
    void addProcureApplyInfoOne(ProcureApplyInfoBean procureApplyInfoBean);

    /**
     * 通过申请编号修改审核状态
     * @param procureApplyId 申请编号
     */
    public String updateStatus(String procureApplyId,int status);

    /**
     * 通过申请编号修改审核未通过原因
     * @param auditReason 审核未通过原因
     */
    public String updateAuditReason(String procureApplyId,String auditReason);
    /**
     * 分页查询采购申请
     * @param page
     * @return
     */
    public IPage<ProcureApplyVo> cutByItem(int page);

    /**
     * 通过采购申请编号查询采购申请详细信息及采购明细
     * @param procureApplyId 采购申请编号
     * @return 返回申请对象
     */
    public ProcureApplyBean findByProcureApplyId(String procureApplyId);

    /**
     * 修改采购商品的数量
     * @param productId 商品编号
     * @param newProductNum 新采购数量
     * @return  是否修改成功
     */
    String updateProcureNum(String productId,int newProductNum);
}
